1. Technical Field of the Invention
The present invention relates in general to the telecommunications field and, in particular, to echo cancellation in telephony systems.
2. Description of Related Art
"Echo" is a phenomenon that can occur in a telephony system whenever a portion of transmitted speech signal energy is reflected back to a sender. These reflections are caused by impedance mismatches in analog portions of the telephony network. There can be many different sources of echo, such as, for example, a hybrid circuit that converts a 4-wire line to a 2-wire line in a Public Switched Telephone Network (PSTN) subscriber interface, or acoustical cross-talk in a mobile radiotelephone. The presence of echo along with a substantial delay (e.g., physical distance or processing delay) can severely degrade the quality of the speech signals being processed.
An echo canceller is a device that is commonly used in telephony systems to suppress or remove echoes in long distance traffic. For example, in cellular Public Land Mobile Networks (PLMNs), echo cancellers are used in mobile services switching centers (MSCs) to suppress or remove echoes in speech traffic. Echo cancellers are also used in mobile radiotelephones and "handsfree" telephone equipment to compensate for acoustical echoes. A general description of an existing echo cancellation technique can be found in the paper entitled: "A Double Talk Detector Based on Coherence" by Gansler et al, Signal Processing Group, Dept. of Elec. Eng. and Comp. Science, Lund University, Sweden.
FIG. 1 is a simplified schematic block diagram of a conventional echo canceller (10). The main component of such an echo canceller is an adaptive finite-impulse-response (FIR) filter 12. Under the control of an adaptation algorithm (e.g., in software), filter 12 models the impulse response of the echo path. A non-linear processor (NLP) 14 is used to remove residual echo that may remain after linear processing of the input signal. A double-talk detector (DTD) 16 is used to control and inhibit the adaptation process, when the echo signal to "near end" signal ratio is of such a value that no additional improvement in the echo path estimation can be obtained by further adaptation of filter 12. The block denoted by 18 represents the echo source in the telephony system which generates the "desired" signal, y(t), as a function of the "far end" signal, x(t), and the "near end" signal, v(t).
The quality of the echo path estimation made is determined primarily by the step size used in the adaptation algorithm. In order to obtain a small estimation error, a small step size can be used. However, one result of using a small step size is a slow adaptation rate, and fast adaptation is desired during the initial adaptation stages. A practical trade-off is to use a large step size during the initial adaptation stage (for a high adaptation rate), and after a prescribed period of time, reduce the step size (to obtain a low estimation error).
Any one of a number of existing approaches can be used to solve a double talk detection problem. A standard approach uses an algorithm based on a comparison of signal levels between the "far end" signal, x(t), and the "desired" signal, y(t), shown in FIG. 1. These signal levels, x.sub.L and y.sub.L, can be measured by an exponential "windowing" technique and expressed as: EQU x.sub.L (t+1)=(1-.tau.)x.sub.L (t)+.tau..vertline.x(t).vertline.(1) EQU y.sub.L (t+1)=(1-.tau.)y.sub.L (t)+.tau..vertline.y(t).vertline.(2)
Double talk is assumed to be present if the "desired" signal level, y.sub.L (t) , exceeds the maximum "far end" signal level multiplied by the expected hybrid circuit attenuation, inside a window "length" that is equal to the filter "length". In other words, double talk is assumed to be present if: EQU y.sub.L (t).gtoreq..alpha.(max){x.sub.L (t), . . . ,x.sub.L (t-N)}(3)
Typically, a hybrid circuit with 6 dB attenuation is assumed, so .alpha. is equal to 1/2.
Another approach used to solve a double talk problem is to determine if there is any linear dependence between the "far end" and "desired" signals. If there is a large amount of linear dependence between the two signals, it is assumed that the "desired" signal is dominated by echo, and the FIR filter (12) adaptation is advanced. If little or no linear dependence between the two signals is found, then it is assumed that double talk is present and the FIR filter (12) adaptation is inhibited.
An important performance characteristic of a double talk detector is that it should be capable of distinguishing between actual double talk and a change in the echo path impulse response (referred to hereafter as "echo path change"). Notably, both double talk and echo path changes appear as increases in residual echo power. However, the two results require opposite adaptation actions. For example, when double talk is present, the adaptation process should be inhibited, but when the echo path is changed, the adaptation rate should be increased so the FIR filter (12) can quickly model the new signal environment. Unfortunately, the existing double talk detection approaches do not provide useful information about echo path changes.